clean up gui main and fix a png. (#313)
authortsteven4 <tsteven4@users.noreply.github.com>
Sat, 9 Mar 2019 16:44:04 +0000 (09:44 -0700)
committerGitHub <noreply@github.com>
Sat, 9 Mar 2019 16:44:04 +0000 (09:44 -0700)
* clean up gui main and fix a png.

- fix libpng warning: iCCP: known incorrect sRGB profile
  issue with runit.png with pngcrush.

- fix includes for gui/main.cc, including removal of
  CoreFoundation.h
- use QApplication static methods instead of going directly
  to the underlying QCoreApplication static methods.

 - no path setting in GUI, instead pass the full path to gpsbabel when using QProcess::start.

in formatload.cc xlt() use qt methods to get a char* instead of
resorting to stdlib.  At this point Qt assumes all translate strings
are utf8.  However, the formatload xlt intent doesn't work because
1) MainWindow::LoadLanguage hasn't been called when
   MainWindow::loadFormats is called.
2) the translations don't exist for the format bits from gpsbabel
   that fromatload tries to translate.  I think this was the intent
   of the gpsbabel_*.ts files which are very out of date and no
   longer distributed.

gui/formatload.cc
gui/formatload.h
gui/images/runit.png
gui/main.cc
gui/mainwindow.cc
gui/mainwindow.h

index fc806cf60d446bfdd503a45bb47372d98f114a6d..c8e1ed5015094941cda418de8f0d9b4761db565c 100644 (file)
 //
 //------------------------------------------------------------------------
 
-#include <QProcess>
-#include <QMessageBox>
-#include <QTextStream>
-#include <QCoreApplication>
-#include <QApplication>
+#include <QtCore/QByteArray>        // for QByteArray
+#include <QtCore/QChar>             // for operator==, QChar
+#include <QtCore/QCharRef>          // for QCharRef
+#include <QtCore/QCoreApplication>  // for QCoreApplication
+#include <QtCore/QObject>           // for QObject
+#include <QtCore/QProcess>          // for QProcess
+#include <QtCore/QRegExp>           // for QRegExp
+#include <QtCore/QString>           // for QString, operator+
+#include <QtCore/QTextStream>       // for QTextStream
+#include <QtCore/QVariant>          // for QVariant
+#include <QtWidgets/QApplication>   // for QApplication
+#include <QtWidgets/QMessageBox>    // for QMessageBox
+
 #include "formatload.h"
-#include "appname.h"
+#include "appname.h"                // for appName
+
 
 //------------------------------------------------------------------------
 static QString xlt(const QString& f)
 {
-  return QCoreApplication::translate("", f.toStdString().c_str());
+  return QCoreApplication::translate("", f.toUtf8().constData());
 }
 
 //------------------------------------------------------------------------
@@ -127,7 +136,7 @@ bool FormatLoad::getFormats(QList<Format>& formatList)
   formatList.clear();
 
   QProcess babel;
-  babel.start("gpsbabel", QStringList() << "-^3");
+  babel.start(QApplication::applicationDirPath() + "/gpsbabel", QStringList() << "-^3");
   if (!babel.waitForStarted()) {
     return false;
   }
index 2389d24447363bd94e6e1ae82607deaf8040f6a9..370c1b598a538a1a60c030ae6aea41b578283e67 100644 (file)
 #ifndef FORMATLOAD_H
 #define FORMATLOAD_H
 
-#include "format.h"
+#include <QtCore/QList>        // for QList
+#include <QtCore/QStringList>  // for QStringList
+
+#include "format.h"            // for Format
 
 class FormatLoad
 {
index de9b58068b1cc952d4191c6fa613128687c26464..1ab7a1db7d95e39c0ab9e60b0444007fdfebb26a 100644 (file)
Binary files a/gui/images/runit.png and b/gui/images/runit.png differ
index d92cc7bb524f9cf1014bc7b6a7dd2dba45a741d1..a5672a4fc5c55b394b113d63513bfd224d8cb421 100644 (file)
 //  USA
 //
 //------------------------------------------------------------------------
-#define _CRT_SECURE_NO_DEPRECATE 1
-#include <QMessageBox>
-#include <QFile>
-#include <QCoreApplication>
-#include <QLibraryInfo>
-#include <QIcon>
-#include <QTextCodec>
+#include <QtCore/QtGlobal>         // for QT_VERSION, QT_VERSION_CHECK
+#include <QtGui/QIcon>             // for QIcon
+#include <QtWidgets/QApplication>  // for QApplication
 
-#include "mainwindow.h"
-#include "gmapdlg.h"
-
-#ifdef _WIN32
-const char* pathSeparator = ";";
-#else
-const char* pathSeparator = ":";
-#endif
-
-#if defined (Q_OS_MAC)
-#include <CoreFoundation/CoreFoundation.h>
-#endif
+#include "mainwindow.h"             // for MainWindow
 
 //------------------------------------------------------------------------
 int main(int argc, char** argv)
@@ -51,16 +36,9 @@ int main(int argc, char** argv)
 
   QApplication app(argc, argv);
   QApplication::setWindowIcon(QIcon(":/images/appicon.png"));
-
-  QString newPath = "PATH=" + QApplication::applicationDirPath() +
-                    QString(pathSeparator) + getenv("PATH");
-  char* newPathEnv = new char[newPath.length() + 1];
-  strcpy(newPathEnv, newPath.toStdString().c_str());
-  putenv(newPathEnv);
-
-  QCoreApplication::setOrganizationName("GPSBabel");
-  QCoreApplication::setOrganizationDomain("gpsbabel.org");
-  QCoreApplication::setApplicationName("GPSBabel");
+  QApplication::setOrganizationName("GPSBabel");
+  QApplication::setOrganizationDomain("gpsbabel.org");
+  QApplication::setApplicationName("GPSBabel");
 
   MainWindow mainWindow(nullptr);
   mainWindow.show();
index 781c946dcab01bae3adc36182b61c9c0171f0b0f..157e0db9e5b229021a01ae1bfce93ae33c46983d 100644 (file)
 //  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111
 //  USA
 //
-#include <QDesktopServices>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <QMimeData>
-#include <QProcess>
-#include <QSettings>
-#include <QTemporaryFile>
-#include <QTextStream>
-// #include <QDebug>
+#include <QtCore/QByteArray>           // for QByteArray
+#include <QtCore/QDate>                // for QDate
+#include <QtCore/QDateTime>            // for QDateTime
+#include <QtCore/QDir>                 // for QDir
+#include <QtCore/QEvent>               // for QEvent (& QEvent::LanguageChange, QEvent::LocaleChange)
+#include <QtCore/QFile>                // for QFile
+#include <QtCore/QFileInfo>            // for QFileInfo
+#include <QtCore/QLocale>              // for QLocale
+#include <QtCore/QMimeData>            // for QMimeData
+#include <QtCore/QProcess>             // for QProcess, QProcess::NotRunning
+#include <QtCore/QRegExp>              // for QRegExp
+#include <QtCore/QSettings>            // for QSettings
+#include <QtCore/QTemporaryFile>       // for QTemporaryFile
+#include <QtCore/QTime>                // for QTime
+#include <QtCore/QUrl>                 // for QUrl
+#include <QtCore/QVariant>             // for QVariant
+#include <QtCore/Qt>                   // for SmoothTransformation, WaitCursor
+#include <QtCore/QtGlobal>             // for foreach
+#include <QtGui/QCursor>               // for QCursor
+#include <QtGui/QDesktopServices>      // for QDesktopServices
+#include <QtGui/QIcon>                 // for QIcon
+#include <QtGui/QImage>                // for QImage
+#include <QtWidgets/QApplication>      // for QApplication, qApp
+#include <QtWidgets/QCheckBox>         // for QCheckBox
+#include <QtWidgets/QDialogButtonBox>  // for QDialogButtonBox
+#include <QtWidgets/QFileDialog>       // for QFileDialog
+#include <QtWidgets/QMessageBox>       // for QMessageBox, operator|, QMessageBox::Yes, QMessageBox::No
+#include <QtWidgets/QPlainTextEdit>    // for QPlainTextEdit
+#include <QtWidgets/QPushButton>       // for QPushButton
+#include <QtWidgets/QRadioButton>      // for QRadioButton
+#include <QtWidgets/QStackedWidget>    // for QStackedWidget
+
+#include <cstdlib>                     // for exit
 
 #include "mainwindow.h"
-#include "../gbversion.h"
-#include "aboutdlg.h"
-#include "advdlg.h"
-#include "appname.h"
-#include "babeldata.h"
-#include "donate.h"
-#include "filterdlg.h"
-#include "formatload.h"
-#include "gmapdlg.h"
-#include "help.h"
-#include "optionsdlg.h"
-#include "preferences.h"
-#include "processwait.h"
-#include "version_mismatch.h"
-#include "upgrade.h"
+#include "../gbversion.h"              // for VERSION
+#include "aboutdlg.h"                  // for AboutDlg
+#include "advdlg.h"                    // for AdvDlg
+#include "appname.h"                   // for appName
+#include "babeldata.h"                 // for BabelData
+#include "donate.h"                    // for Donate
+#include "filterdlg.h"                 // for FilterDialog
+#include "formatload.h"                // for FormatLoad
+#include "gmapdlg.h"                   // for GMapDialog
+#include "help.h"                      // for ShowHelp
+#include "optionsdlg.h"                // for OptionsDlg
+#include "preferences.h"               // for Preferences
+#include "processwait.h"               // for ProcessWaitDialog
+#include "upgrade.h"                   // for UpgradeCheck
+#include "version_mismatch.h"          // for VersionMismatch
+
+
 
 const int BabelData::noType_ = -1;
 const int BabelData::fileType_ = 0;
@@ -56,7 +82,7 @@ const int BabelData::deviceType_ = 1;
 QString MainWindow::findBabelVersion()
 {
   QProcess babel;
-  babel.start("gpsbabel", QStringList() << "-V");
+  babel.start(QApplication::applicationDirPath() + "/gpsbabel", QStringList() << "-V");
   if (!babel.waitForStarted()) {
     return QString();
   }
@@ -869,7 +895,7 @@ bool MainWindow::runGpsbabel(const QStringList& args, QString& errorString,
 {
   QProcess* proc = new QProcess(nullptr);
   QString name = "gpsbabel";
-  proc->start(name, args);
+  proc->start(QApplication::applicationDirPath() + '/' + name, args);
   ProcessWaitDialog* waitDlg = new ProcessWaitDialog(nullptr, proc);
 
   if (proc->state() == QProcess::NotRunning) {
index 31d5399271686ab76b900b842884fbb700d80427..94920935c4c23afd16958063409a8841a86d48f9 100644 (file)
 #ifndef MAINWINDOW_H
 #define MAINWINDOW_H
 
-#include "ui_mainwinui.h"
-#include "format.h"
-#include "filterdata.h"
-#include "babeldata.h"
-#include "upgrade.h"
+#include <QtCore/QEvent>          // for QEvent
+#include <QtCore/QList>           // for QList
+#include <QtCore/QObject>         // for QObject (& Q_OBJECT, slots)
+#include <QtCore/QString>         // for QString
+#include <QtCore/QStringList>     // for QStringList
+#include <QtCore/QTranslator>     // for QTranslator
+#include <QtGui/QCloseEvent>      // for QCloseEvent
+#include <QtGui/QDragEnterEvent>  // for QDragEnterEvent
+#include <QtGui/QDropEvent>       // for QDropEvent
+#include <QtGui/QPixmap>          // for QPixmap
+#include <QtWidgets/QAction>      // for QAction
+#include <QtWidgets/QComboBox>    // for QComboBox
+#include <QtWidgets/QLabel>       // for QLabel
+#include <QtWidgets/QLineEdit>    // for QLineEdit
+#include <QtWidgets/QMainWindow>  // for QMainWindow
+#include <QtWidgets/QWidget>      // for QWidget
+
+#include "babeldata.h"            // for BabelData
+#include "filterdata.h"           // for AllFiltersData
+#include "format.h"               // for Format
+#include "ui_mainwinui.h"         // for Ui_MainWindow
+#include "upgrade.h"              // for UpgradeCheck
 
-#include <QTranslator>
 
 class MainWindow: public QMainWindow
 {